The present invention relates to a remote terminal emulator and, in particular, to a remote terminal emulator which reports timed components of an emulated user of a computer system under test in a particularly accurate and complete manner and in which substantially all time of an emulation is accounted for and reported to a user.
A remote terminal emulator (RTE) simulates use of a computer system under test by a user through a remotely coupled terminal. An RTE is used to test the computer system under test for such purposes as quality assurance and quantitative comparisons between respective computer systems. For example, a computer system under test may be designed to process data according to commands entered by multiple users simultaneously through multiple terminals coupled remotely to the computer system under test. Such a computer system can be tested without the assistance of actual users by simultaneous execution of RTEs which collectively simulate simultaneous use of the computer system under test by multiple users. Testing computer systems without the assistance of actual users has become an important component of the development of computer systems since such testing can be performed for very long periods of time and at times when other use of the computer system under test is typically light, e.g., over night. In addition, RTEs can be used to replicate identical operating environments in two or more respective computer systems to compare relative performance characteristics of the respective computer systems.
It is important that the simulation of an RTE of use of the computer system under test be as accurately reflective as possible of actual use of the computer system under test by an actual user. Otherwise, conclusions regarding performance characteristics of the computer system under test drawn from information obtained by emulated use effected by the RTE can be erroneous or inaccurate. As a result, evaluation of the computer system under test can result in over-estimation or under-estimation of the requisite computer system configuration to perform a particular task. For example, if the performance of the computer system under test is reported by an RTE overly optimistically, a systems administrator may configure the computer system under test with a central processing unit which is too slow to meet the systems administrator""s needs when actually used. Conversely, if the performance of the computer system under test is reported by an RTE overly pessimistically, a systems administrator may unnecessarily increase the processing capacity of the computer system under test thereby incurring an necessary expense.
Typically, an RTE which emulates a remote terminal coupled to a computer system under test is a computer process executing on a second computer system, which is remotely coupled to the computer system under test. Such a computer process is sometimes called an RTE process. The RTE process transmits command signals to the computer system under test as if the command signals were entered through a remote terminal by an actual user of the computer system and receives resulting output data from the computer system under test. Simultaneous use by multiple users of a multi-user computer system under test is emulated using a remotely coupled computer system and multiple RTE processes which execute concurrently on the remotely coupled computer system.
RTEs are used to evaluate computer systems and, in general, performance characteristics such as response times and throughput for such computer systems. However, currently available RTEs provide insufficient information regarding the performance of a particular computer system under test to make specific, important conclusions regarding the performance. For example, conventional RTEs provide insufficient information regarding an emulated use of a computer system under test to determine what proportion of the time elapsing during the emulated use reflects processing by the computer system under test or what proportion of the time elapsing during the emulated use reflects administrative processing by the RTE. As a result, conclusions, such as the sufficiency of the processor of the computer system under test to perform a particular task, cannot be derived from such conventional RTEs with confidence.
What is therefore needed is an RTE which realistically simulates actual use of a computer system under test by a user and which reports sufficient information regarding the performance of the computer system under test to support specific, important conclusions regarding the performance.
In accordance with the present invention, an RTE is provided in which the time required by the computer system under test to respond to command signals transmitted by the RTE is recorded as a receive time and is measured from completion of the transmission of the command signals to recognition of a pattern specified by the RTE as signifying completion of the response by the computer system under test. As a result, the recorded receive time reflects the time required by the computer system under test to (a) process and carry out a command specified by the command signals transmitted by the RTE and (b) transmit resulting output data back to the RTE. The recorded receive time is therefore accurately reflective of the proportion of time elapsing during an emulated use of the computer system,under test devoted to processing by the computer system under test and therefore supports more conclusively a conclusion regarding the sufficiency of the processing capabilities of the computer system under test.
Further in accordance with the present invention, the RTE accurately measures and reports user think time and application processing time. The RTE determines an amount of time during which transmission of data to the computer system under test is suspended to emulate thinking by a user of the computer system under test. The RTE suspends transmission of command signals to the computer system under test and measures and records as user think time the actual amount of time during which transmission of command signals is suspended. The user think time is then reported to the user of the RTE to provide more complete information regarding the emulated use of the computer system under test. Specifically, accurately measuring and reporting user think time provides important information regard the authenticity of the emulated use, when compared to actual user think times measured during actual use of the computer system under test by actual users, and the relative importance of the processing capacity of the computer system under test.
An RTE typically performs logic operations and other processing in emulating use of the computer system under test. For example, an RTE can recognize one of a number of patterns in data received from the computer system under test and perform one of a number of tasks depending upon which of the patterns is recognized. In accordance with the present invention, the time during which the RTE processes information, causing emulation of use of the computer system under test to be suspended, is accurately measured as application processing time and is reported to the user of the RTE. The application processing time provides to the user an indication of the influence of the RTE itself on the emulated use of the computer system under test.
Further in accordance with the present invention, the RTE measures each occurrence during an emulated use of the computer system under test to a single, consistent precision. The RTE reports the measured times of the components of the emulated use of the computer system under test to the same precision. Substantially all of the time elapsing during the emulated use of the computer system under test is reported to the user of the RTE to provide the user of the RTE more complete and revealing information regarding the relative performance of the computer system under test during emulated use of the computer system under test.